#pragma once

#include "Containers/Variant.h"
#include "Containers/Vector.h"
#include "Math/Math.h"
#include "Primitive/Triangle2D.h"

class RMaterial;
class RScene;

struct SWidgetRenderByMaterial
{
    SRect NormalizedClip; 
    TVector<CTriangle2D> Triangles;
    TSharedObjectPtr<RMaterial> Material;
};


struct SWidgetRenderByScene
{
    SRect NormalizedClip;
    SRect Viewport; 
    TSharedObjectPtr<RScene>  Scene;
};


using VWidgetRenderInfo=TVariant<SWidgetRenderByMaterial,SWidgetRenderByScene>;